package cn.z2huo.mybatis.generator.mybatis3dynamicsql.dao;

import org.mybatis.dynamic.sql.AliasableSqlTable;
import org.mybatis.dynamic.sql.SqlColumn;

import java.sql.JDBCType;
import java.time.LocalDateTime;

public final class UserDynamicSqlSupport {
    public static final User user = new User();

    public static final SqlColumn<Long> id = user.id;

    public static final SqlColumn<LocalDateTime> createTime = user.createTime;

    public static final SqlColumn<LocalDateTime> operateTime = user.operateTime;

    public static final SqlColumn<String> createByCode = user.createByCode;

    public static final SqlColumn<String> operateByCode = user.operateByCode;

    public static final SqlColumn<String> userCode = user.userCode;

    public static final SqlColumn<String> userName = user.userName;

    public static final SqlColumn<LocalDateTime> validDate = user.validDate;

    public static final SqlColumn<LocalDateTime> invalidDate = user.invalidDate;

    public static final SqlColumn<String> validFlag = user.validFlag;

    public static final SqlColumn<String> deleteFlag = user.deleteFlag;

    public static final SqlColumn<String> companyCode = user.companyCode;

    public static final SqlColumn<String> departmentCode = user.departmentCode;

    public static final class User extends AliasableSqlTable<User> {
        public final SqlColumn<Long> id = column("id", JDBCType.BIGINT);

        public final SqlColumn<LocalDateTime> createTime = column("create_time", JDBCType.TIMESTAMP);

        public final SqlColumn<LocalDateTime> operateTime = column("operate_time", JDBCType.TIMESTAMP);

        public final SqlColumn<String> createByCode = column("create_by_code", JDBCType.VARCHAR);

        public final SqlColumn<String> operateByCode = column("operate_by_code", JDBCType.VARCHAR);

        public final SqlColumn<String> userCode = column("user_code", JDBCType.VARCHAR);

        public final SqlColumn<String> userName = column("user_name", JDBCType.VARCHAR);

        public final SqlColumn<LocalDateTime> validDate = column("valid_date", JDBCType.TIMESTAMP);

        public final SqlColumn<LocalDateTime> invalidDate = column("invalid_date", JDBCType.TIMESTAMP);

        public final SqlColumn<String> validFlag = column("valid_flag", JDBCType.VARCHAR);

        public final SqlColumn<String> deleteFlag = column("delete_flag", JDBCType.VARCHAR);

        public final SqlColumn<String> companyCode = column("company_code", JDBCType.VARCHAR);

        public final SqlColumn<String> departmentCode = column("department_code", JDBCType.VARCHAR);

        public User() {
            super("public.z2huo_user", User::new);
        }
    }
}